package com.songtech.auth.role.dao;

import java.util.List;
import java.util.Map;

import com.songtech.auth.role.model.Role;
import com.songtech.auth.role.vo.RoleUserVo;
import com.songtech.auth.user.model.User;

public interface AuthRoleMapper {

	Role queryRoleByRoleCode(String roleCode);

	Role queryRoleByRoleId(String roleId);

	int insert(Role role);
	int update(Role role);
	int updateByAll(Role role);

	int delete(String roleId);

	List<Role> queryRoleAll(Role role);

	List<Role> getRoles(Role role);

	List<User> getRoleUsers(String roleId);

	int deleteResByRoleId(String roleId);

	int insertRoleRes(Map<String, Object> roleResMap);

	List<Role> getUserRoles(Map<String, Object> map);
	/**
	 * 
	 * @param map
	 * map.put("roleId", roleId); 角色ID
	 * map.put("userIds", userIds);用户ID，list集合
	 * @return
	 */
	List<RoleUserVo> queryRoleUserVoByUserIds(Map<String, Object> map);
	
	/**
	 * 
	 * @param insVoMaps
	 * insVoMaps.put("roleUserVos", roleUserVos);
	 * roleUserVos(List-RoleUserVo)
	 * @return
	 */
	int insertPatchRoleUser(Map<String, Object> insVoMaps);
	/**
	 * 
	 * @param delMaps
	 * delMaps.put("userIds", listOld); 用户id集合 list
	 * delMaps.put("roleId", roleId); 角色id
	 * @return
	 */
	int deletePatchRoleUser(Map<String, Object> delMaps);
}
